package com.junsi.demo.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import com.junsi.common.core.text.Convert;
import com.junsi.common.enums.DbDialect;
import com.junsi.demo.domain.ApiDemo;
import com.junsi.demo.mapper.ApiDemoMapper;
import com.junsi.demo.service.IApiDemoService;

/**
 * api测试用例 服务层实现
 * 
 * @author junsi
 * @date 2019-08-11
 */
@Service
public class ApiDemoServiceImpl implements IApiDemoService 
{
	@Value("${pagehelper.helperDialect}")
	private String dbDialect;
    
	@Autowired
	private ApiDemoMapper apiDemoMapper;

	/**
     * 查询api测试用例信息
     * 
     * @param id api测试用例ID
     * @return api测试用例信息
     */
    @Override
	public ApiDemo selectApiDemoById(Integer id)
	{
	    return apiDemoMapper.selectApiDemoById(id);
	}
	
	/**
     * 查询api测试用例列表
     * 
     * @param apiDemo api测试用例信息
     * @return api测试用例集合
     */
	@Override
	public List<ApiDemo> selectApiDemoList(ApiDemo apiDemo)
	{
	    return apiDemoMapper.selectApiDemoList(apiDemo);
	}
	
    /**
     * 新增api测试用例
     * 
     * @param apiDemo api测试用例信息
     * @return 结果
     */
	@Override
	public int insertApiDemo(ApiDemo apiDemo)
	{
    	if(DbDialect.MYSQL.getCode().equals(dbDialect)) {
    	    return apiDemoMapper.insertApiDemo(apiDemo);
    	} else if(DbDialect.ORACLE.getCode().equals(dbDialect)) {
    	    return apiDemoMapper.insertApiDemoOracle(apiDemo);
    	} else {
    		return 0;
    	}
	}
	
	/**
     * 修改api测试用例
     * 
     * @param apiDemo api测试用例信息
     * @return 结果
     */
	@Override
	public int updateApiDemo(ApiDemo apiDemo)
	{
	    return apiDemoMapper.updateApiDemo(apiDemo);
	}

	/**
     * 删除api测试用例对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@Override
	public int deleteApiDemoByIds(String ids)
	{
		return apiDemoMapper.deleteApiDemoByIds(Convert.toStrArray(ids));
	}
	
}
